var length = 10;
function fn() {
    console.log(this.length);
}
var obj = {
    length: 5,
    method: function(fn) {
        fn();
        arguments[0]();
    }
};
//? 输出undefined 2
//? this.length实际上是global.length 。但是， global.length  并不存在(没有定义，因为在nodejs环境下，var声明的变量在模块作用域中而不在global)，因此输出为  undefined
//? 第二次执行arguments[0]()，相当于arguments调用方法，this指向arguments，而这里传了两个参数，故输出arguments长度为2。
obj.method(fn, 1);
